A touch sensitive device offers a simple, intuitive interface to a computer or other data processing device. Rather than using a keyboard to type in data, a user can transfer information by touching an icon or by writing or drawing on a touch sensitive panel. Touch panels are used in a variety of information processing applications. Interactive visual displays often include some form of touch sensitive panel. Integrating touch sensitive panels with visual displays is becoming more common with the emergence of next generation portable multimedia devices such as cell phones, personal data assistants (PDAs), and handheld or laptop computers. It is now common to see electronic displays with touch sensitive panels in a wide variety of applications, such as teller machines, gaming machines, automotive navigation systems, restaurant management systems, grocery store checkout lines, gas pumps, information kiosks, and hand-held data organizers, to name a few. Some of these touch sensitive panels support the resolution of multiple simultaneous (or temporally overlapping) touches.
Some touch-sensing technologies are better suited for resolving temporally overlapping traces than others. For example, many analog-type touch sensors comprised of a single layer of a conductive coating (such as indium tin oxide, or ITO) cannot resolve the coordinates of two fingers simultaneously placed on a touch pad. If two fingers are placed, the controller will determine a touch event to be in the middle of the touch points, weighted by the capacitive coupling associated with either touch point (i.e., if a palm and a finger touch on separate ends of an analog touch sensor, the touch will be reported closer to the palm than the finger). Some have used clever software to approximate multi-touch in such an environment, which may be acceptable for resolving certain gestures (such as a pinch gesture), but the precise coordinates of multiple touches using such an approach cannot be known, and is subject to a large number of assumptions (like only two fingers, and not three, will be used on a device). Matrix-type capacitive touch sensors are particularly suited for multi-touch because, in some configurations, they can interrogate individual nodes on the touch screen for the presence of a touch. Similarly, camera-based touch sensors are well-suited for resolving multiple touches or traces.
3M Touch Systems markets and sells Dispersive Signal Technology (“DST”) touch systems that use bending-wave type touch technology to determine the location of a touch, or resolve the coordinates of a single trace, made upon a surface of a substrate. Such DST touch systems have been sold in the United States earlier than one year prior to the filing of this application for patent. In general, bending wave touch technology senses vibrations created by a touch in the bulk material of the touch sensitive substrate. These vibrations are denoted bending waves and may be detected using sensors typically placed on the edges of the substrate. Signals generated by the sensors are analyzed to determine the touch location. DST touch systems include sensors that are typically constructed of chemically strengthened rectangular glass (sized to be overlaid on an electronic display), with a piezoelectric transducer at each corner. The piezoelectric transducers produce voltages indicative of bending waves propagating through the glass as a result of a contact made with the glass, or a drag made with a finger (or other object) across the surface of the glass. A controller coupled to the piezoelectric transducers analyzes the signals received at the respective piezoelectric transducers and determines coordinates of a single impact, or the coordinates of a single trace event, which the controller would then provide to, for example, a computer. The method used by these touch sensors to resolve a single trace event is shown in reference to FIG. 1. Touch sensors (300) provide a data stream of signals (305) indicative of bending waves propagating through a substrate. This data stream is provided to a dispersive signal processing module (310), which carries out the following procedures:    1. Input signals from sensors (assume 4 sensors for this example) are filtered and transformed to the frequency domain via a Fast Fourier Transform (FFT).    2. The FFT-transformed signals are then normalized and combined in pairs using a form of generalized cross-correlation. This process removes common noise and delays from the signal, making it easier to determine a touch location. In one embodiment there are six cross-correlation functions calculated (one between each pair of sensors).    3. These six functions are then transformed from the frequency domain to the wavenumber domain using a dispersion correction function that accounts for the dispersive nature of bending waves in plate-type substrates. As described in U.S. Pat. No. 6,922,642, this dispersion correction function uses a substrate constant C, defined by C=(μ/B)1/4 , where μ=mass per unit area of the substrate, and B=bending stiffness of the substrate. Removing the dispersive effects allows for the calculation of the distance difference between the touch point and the two sensors used in the cross-correlation.    4. These six functions are then transformed to the spatial domain via an inverse-FFT.    5. The peaks of each function define potential distance differences from the touch point to the two sensors for each cross-correlation. These distance differences define a hyperbolae containing potential touch points (solutions). Intersections of the hyperbolae from the various cross-correlation functions define possible touch points. The possible touch points (solutions) are in the form of coordinates (xi, yi), and are scored based on their similarity to other solutions determined from other cross correlation functions.
A single top ranked solution (306), if its score exceeds a threshold value, is then provided to a Kalman filter module (320). The Kalman filter module determines if the solution is within a pre-defined distance from the next coordinate predicted by the Kalman filter. It also determines if the “roughness” of the predicted point exceeds a threshold (and if so, discards it). Roughness is a measure of how likely the data point matches the Kalman filter and is defined as:
  r  =            d              i        ,        j              S  where S is the statistical covariance of d. Thus when the Kalman filter analysis suggests uncertainty (covariance is high) more variation in solutions will be tolerated. Alternatively, when the Kalman filter is tracking a good signal (covariance is low) it is much more selective about what points it accepts. This process repeats, thus producing a stream of coordinates (307) that comprise the trace. This stream may be provided by a controller to a computer.
In the DST touch systems sold by 3M Touch Systems, this process works acceptably for resolving single traces. However, DST touch systems cannot resolve coordinates associated with a plurality of temporally overlapping trace events; that is, they cannot properly determine the locations of two objects being dragged across the surface of the touch sensor at the same time.